// © 2009 Microsoft Corporation.  All rights reserved.
using Microsoft.InformationSecurity.ISRM.TaskManagment.Classes;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Collections.Generic;

namespace UnitTests
{
    
    
    /// <summary>
    ///This is a test class for TasksTest and is intended
    ///to contain all TasksTest Unit Tests
    ///</summary>
    [TestClass()]
    public class TasksTest
    {


        private TestContext testContextInstance;

        /// <summary>
        ///Gets or sets the test context which provides
        ///information about and functionality for the current test run.
        ///</summary>
        public TestContext TestContext
        {
            get
            {
                return testContextInstance;
            }
            set
            {
                testContextInstance = value;
            }
        }

        #region Additional test attributes
        // 
        //You can use the following additional attributes as you write your tests:
        //
        //Use ClassInitialize to run code before running the first test in the class
        //[ClassInitialize()]
        //public static void MyClassInitialize(TestContext testContext)
        //{
        //}
        //
        //Use ClassCleanup to run code after all tests in a class have run
        //[ClassCleanup()]
        //public static void MyClassCleanup()
        //{
        //}
        //
        //Use TestInitialize to run code before running each test
        //[TestInitialize()]
        //public void MyTestInitialize()
        //{
        //}
        //
        //Use TestCleanup to run code after each test has run
        //[TestCleanup()]
        //public void MyTestCleanup()
        //{
        //}
        //
        #endregion


        /// <summary>
        ///A test for UpdateTemplate
        ///</summary>
        [TestMethod()]
        public void UpdateTemplateTest()
        {
            Tasks target = new Tasks(); // TODO: Initialize to an appropriate value
            TaskTemplate taskTemplate = null; // TODO: Initialize to an appropriate value
            target.UpdateTemplate(taskTemplate);
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }

        /// <summary>
        ///A test for UpdateTask
        ///</summary>
        [TestMethod()]
        public void UpdateTaskTest()
        {
            Task task = null; // TODO: Initialize to an appropriate value
            Tasks.UpdateTask(task);
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }

        /// <summary>
        ///A test for GetUser
        ///</summary>
        [TestMethod()]
        public void GetUserTest()
        {
            int userID = 0; // TODO: Initialize to an appropriate value
            User expected = null; // TODO: Initialize to an appropriate value
            User actual;
            actual = Tasks.GetUser(userID);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for GetTemplates
        ///</summary>
        [TestMethod()]
        public void GetTemplatesTest()
        {
            Tasks target = new Tasks(); // TODO: Initialize to an appropriate value
            Category category = null; // TODO: Initialize to an appropriate value
            Group group = null; // TODO: Initialize to an appropriate value
            List<TaskTemplate> expected = null; // TODO: Initialize to an appropriate value
            List<TaskTemplate> actual;
            actual = target.GetTemplates(category, group);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for GetTasksUsers
        ///</summary>
        [TestMethod()]
        public void GetTasksUsersTest()
        {
            List<User> expected = null; // TODO: Initialize to an appropriate value
            List<User> actual;
            actual = Tasks.GetTasksUsers();
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for GetTasksCountByFilter
        ///</summary>
        [TestMethod()]
        public void GetTasksCountByFilterTest()
        {
            string field = string.Empty; // TODO: Initialize to an appropriate value
            string soperator = string.Empty; // TODO: Initialize to an appropriate value
            string[] values = null; // TODO: Initialize to an appropriate value
            bool isTaskUser = false; // TODO: Initialize to an appropriate value
            int personID = 0; // TODO: Initialize to an appropriate value
            bool isActiveTasksOnly = false; // TODO: Initialize to an appropriate value
            int expected = 0; // TODO: Initialize to an appropriate value
            int actual;
            actual = Tasks.GetTasksCountByFilter(field, soperator, values, isTaskUser, personID, isActiveTasksOnly);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for GetTasksCount
        ///</summary>
        [TestMethod()]
        public void GetTasksCountTest1()
        {
            Tasks target = new Tasks(); // TODO: Initialize to an appropriate value
            User user = null; // TODO: Initialize to an appropriate value
            int expected = 0; // TODO: Initialize to an appropriate value
            int actual;
            actual = target.GetTasksCount(user);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for GetTasksCount
        ///</summary>
        [TestMethod()]
        public void GetTasksCountTest()
        {
            Tasks target = new Tasks(); // TODO: Initialize to an appropriate value
            User user = null; // TODO: Initialize to an appropriate value
            TaskStatus status = null; // TODO: Initialize to an appropriate value
            int expected = 0; // TODO: Initialize to an appropriate value
            int actual;
            actual = target.GetTasksCount(user, status);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for GetTasksByUser
        ///</summary>
        [TestMethod()]
        public void GetTasksByUserTest()
        {
            int businessobjectid = 0; // TODO: Initialize to an appropriate value
            int userID = 0; // TODO: Initialize to an appropriate value
            List<Task> expected = null; // TODO: Initialize to an appropriate value
            List<Task> actual;
            actual = Tasks.GetTasksByUser(businessobjectid, userID);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for GetTasksByNotification
        ///</summary>
        [TestMethod()]
        public void GetTasksByNotificationTest()
        {
            int userID = 0; // TODO: Initialize to an appropriate value
            string notificationIDs = string.Empty; // TODO: Initialize to an appropriate value
            List<Task> expected = null; // TODO: Initialize to an appropriate value
            List<Task> actual;
            actual = Tasks.GetTasksByNotification(userID, notificationIDs);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for GetTasksByFilter
        ///</summary>
        [TestMethod()]
        public void GetTasksByFilterTest()
        {
            string field = string.Empty; // TODO: Initialize to an appropriate value
            string soperator = string.Empty; // TODO: Initialize to an appropriate value
            string[] values = null; // TODO: Initialize to an appropriate value
            string sortField = string.Empty; // TODO: Initialize to an appropriate value
            bool sortDescending = false; // TODO: Initialize to an appropriate value
            int pageSize = 0; // TODO: Initialize to an appropriate value
            int startRowIndex = 0; // TODO: Initialize to an appropriate value
            bool isTaskUser = false; // TODO: Initialize to an appropriate value
            int personID = 0; // TODO: Initialize to an appropriate value
            bool isActiveTasksOnly = false; // TODO: Initialize to an appropriate value
            List<Task> expected = null; // TODO: Initialize to an appropriate value
            List<Task> actual;
            actual = Tasks.GetTasksByFilter(field, soperator, values, sortField, sortDescending, pageSize, startRowIndex, isTaskUser, personID, isActiveTasksOnly);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for GetTasks
        ///</summary>
        [TestMethod()]
        public void GetTasksTest1()
        {
            Tasks target = new Tasks(); // TODO: Initialize to an appropriate value
            User User = null; // TODO: Initialize to an appropriate value
            int page = 0; // TODO: Initialize to an appropriate value
            int pageSize = 0; // TODO: Initialize to an appropriate value
            TaskStatus status = null; // TODO: Initialize to an appropriate value
            List<Task> expected = null; // TODO: Initialize to an appropriate value
            List<Task> actual;
            actual = target.GetTasks(User, page, pageSize, status);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for GetTasks
        ///</summary>
        [TestMethod()]
        public void GetTasksTest()
        {
            int businessObjectID = 0; // TODO: Initialize to an appropriate value
            List<Task> expected = null; // TODO: Initialize to an appropriate value
            List<Task> actual;
            actual = Tasks.GetTasks(businessObjectID);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for GetTaskHistory
        ///</summary>
        [TestMethod()]
        public void GetTaskHistoryTest()
        {
            Tasks target = new Tasks(); // TODO: Initialize to an appropriate value
            List<TaskHistory> expected = null; // TODO: Initialize to an appropriate value
            List<TaskHistory> actual;
            actual = target.GetTaskHistory();
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for GetTask
        ///</summary>
        [TestMethod()]
        public void GetTaskTest()
        {
            int taskID = 0; // TODO: Initialize to an appropriate value
            Task expected = null; // TODO: Initialize to an appropriate value
            Task actual;
            actual = Tasks.GetTask(taskID);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for GetDeletedTasks
        ///</summary>
        [TestMethod()]
        public void GetDeletedTasksTest()
        {
            Tasks target = new Tasks(); // TODO: Initialize to an appropriate value
            User user = null; // TODO: Initialize to an appropriate value
            int page = 0; // TODO: Initialize to an appropriate value
            int pageSize = 0; // TODO: Initialize to an appropriate value
            List<Task> expected = null; // TODO: Initialize to an appropriate value
            List<Task> actual;
            actual = target.GetDeletedTasks(user, page, pageSize);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for GetAllTaskStatus
        ///</summary>
        [TestMethod()]
        public void GetAllTaskStatusTest()
        {
            List<TaskStatus> expected = null; // TODO: Initialize to an appropriate value
            List<TaskStatus> actual;
            actual = Tasks.GetAllTaskStatus();
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for DeleteTemplate
        ///</summary>
        [TestMethod()]
        public void DeleteTemplateTest()
        {
            Tasks target = new Tasks(); // TODO: Initialize to an appropriate value
            string taskTemplateID = string.Empty; // TODO: Initialize to an appropriate value
            target.DeleteTemplate(taskTemplateID);
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }

        /// <summary>
        ///A test for DeleteTask
        ///</summary>
        [TestMethod()]
        public void DeleteTaskTest()
        {
            Tasks target = new Tasks(); // TODO: Initialize to an appropriate value
            string taskID = string.Empty; // TODO: Initialize to an appropriate value
            target.DeleteTask(taskID);
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }

        /// <summary>
        ///A test for AddTemplate
        ///</summary>
        [TestMethod()]
        public void AddTemplateTest()
        {
            Tasks target = new Tasks(); // TODO: Initialize to an appropriate value
            TaskTemplate taskTemplate = null; // TODO: Initialize to an appropriate value
            int expected = 0; // TODO: Initialize to an appropriate value
            int actual;
            actual = target.AddTemplate(taskTemplate);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for AddTasks
        ///</summary>
        [TestMethod()]
        public void AddTasksTest()
        {
            List<Task> lstTasks = null; // TODO: Initialize to an appropriate value
            List<Task> expected = null; // TODO: Initialize to an appropriate value
            List<Task> actual;
            actual = Tasks.AddTasks(lstTasks);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for AddTaskHistory
        ///</summary>
        [TestMethod()]
        public void AddTaskHistoryTest()
        {
            Tasks target = new Tasks(); // TODO: Initialize to an appropriate value
            TaskHistoryFields taskHistory = null; // TODO: Initialize to an appropriate value
            int taskID = 0; // TODO: Initialize to an appropriate value
            int expected = 0; // TODO: Initialize to an appropriate value
            int actual;
            actual = target.AddTaskHistory(taskHistory, taskID);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for AddTask
        ///</summary>
        [TestMethod()]
        public void AddTaskTest2()
        {
            Tasks target = new Tasks(); // TODO: Initialize to an appropriate value
            int templateID = 0; // TODO: Initialize to an appropriate value
            int busObjectID = 0; // TODO: Initialize to an appropriate value
            User User = null; // TODO: Initialize to an appropriate value
            int expected = 0; // TODO: Initialize to an appropriate value
            int actual;
            actual = target.AddTask(templateID, busObjectID, User);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for AddTask
        ///</summary>
        [TestMethod()]
        public void AddTaskTest1()
        {
            Tasks target = new Tasks(); // TODO: Initialize to an appropriate value
            TaskTemplate taskTemplate = null; // TODO: Initialize to an appropriate value
            DateTime dueDate = new DateTime(); // TODO: Initialize to an appropriate value
            User user = null; // TODO: Initialize to an appropriate value
            int expected = 0; // TODO: Initialize to an appropriate value
            int actual;
            actual = target.AddTask(taskTemplate, dueDate, user);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for AddTask
        ///</summary>
        [TestMethod()]
        public void AddTaskTest()
        {
            Tasks target = new Tasks(); // TODO: Initialize to an appropriate value
            Task task = null; // TODO: Initialize to an appropriate value
            int expected = 0; // TODO: Initialize to an appropriate value
            int actual;
            actual = target.AddTask(task);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for Tasks Constructor
        ///</summary>
        [TestMethod()]
        public void TasksConstructorTest()
        {
            Tasks target = new Tasks();
            Assert.Inconclusive("TODO: Implement code to verify target");
        }
    }
}
